package com.woniuxy.yoga.notice.service;

import com.woniuxy.yoga.commons.core.model.PageInfo;
import com.woniuxy.yoga.notice.dao.model.SystemNotice;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.notice.model.dto.systemnotice.SystemNoticeDTO;
import com.woniuxy.yoga.notice.model.param.systemnotice.ListAllSystemNoticeParam;
import com.woniuxy.yoga.notice.model.param.systemnotice.PublishSystemNoticeParam;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface SystemNoticeService extends IService<SystemNotice> {
    /**
     * 管理员发布系统公告
     * @param param
     * @return
     */
    void publishSystemNotice(PublishSystemNoticeParam param);
    /**
     * 管理员分页查询全部系统公告
     * @param param
     * @return
     */
    PageInfo listAllSystemNotice(ListAllSystemNoticeParam param);
    /**
     * 查看最新公告
     * @return
     */
    SystemNoticeDTO loadLastSystemNotice();
    /**
     * 管理员停用系统公告
     * @param systemNoticeId
     * @param accountId
     */
    void disableSystemNotice(Integer systemNoticeId, Integer accountId);
    /**
     * 管理员启用系统公告
     * @param systemNoticeId
     * @param accountId
     */
    void normalSystemNotice(Integer systemNoticeId, Integer accountId);
    /**
     * 管理员删除系统公告
     * @param systemNoticeId
     * @param accountId
     */
    void delSystemNotice(Integer systemNoticeId, Integer accountId);
}
